1. Field
The disclosure relates generally to data processing systems and in particular to file compression. Still more particularly, the disclosure relates to a computer implemented method, apparatus, and computer program code for determining an optimal compression technique for each data file when creating a computer archive file from a set of data files.
2. Description of the Related Art
In a computer system or data storage device, data storage is a limited resource. Therefore, software applications and other data storage users typically use data storage in a way that conserves drive space. Devices with relatively small amounts of data storage space, such as personal digital assistants (PDA) or cellular/wireless phones, are particularly sensitive to data storage usage. Similarly, data storage in data centers, such as in network attached storage devices, storage area networks, etc. requires file size reductions to reduce costs associated with adding and maintaining storage.
One popular way of conserving data storage space is file compression, in which a data file is compressed so that the compressed file is smaller than the original file. The compressed form of the file is then stored instead of the original file to conserve data storage. The ability to compress computer data provides great benefits in the areas of storage reduction and network bandwidth reduction. Reducing the size of a file before it is stored on a medium (disk, tape, other) can drastically reduce the cost of the storage solution required by a customer. Reducing the size of a file before it is distributed over a network may reduce not only the required bandwidth, but it may also increase the speed at which data can be distributed over the network. Traditionally, archive files are created which contain multiple, compressed files which are then stored or sent over a network.